Conventionally, the update of firmware (a program executed by an information processing apparatus) of the information processing apparatus, such as a digital multifunction peripheral, is generally performed by a service person using firmware stored e.g. in a removable memory. On the other hand, with development of the Internet environment in recent years, it is a common practice for users to download only a portion of firmware with which the update is to be executed, from the Internet into an information processing apparatus, and thereby execute the update of the firmware.
Firmware to which users perform updating of previous version is quality-guaranteed by a manufacturer of the information processing apparatus, and is provided on the precondition that even after the update, there is no problem in the operation of the information processing apparatus.
However, some information processing apparatuses can have a so-called third party program installed therein which has been created by other than the manufacturer of the information processing apparatus. In this case, the manufacturer of the information processing apparatus does not guarantee the quality of a combination of the third party program and the updated firmware, so that an abnormality may occur in the operation of the information processing apparatus due to the firmware update. For this reason, for the user of the information processing apparatus to safely perform the firmware update, it is preferable that when an abnormality occurs in the operation of the information processing apparatus, the user himself/herself can restore the firmware to a stable state thereof before the update without fail.
For the user to restore the firmware of the information processing apparatus to the state before the update, the user himself/herself has to determine to which state in the past the firmware is to be restored. To do this, it is necessary to provide the user with information based on which the user can make the determination. It is envisaged to determine, as the information to be provided to the user, which state in the past the firmware should be restored to, by analyzing the operating conditions of the information processing apparatus in the past. Further, there has been proposed a technique of restoring firmware to a state thereof at an appropriate time point by analyzing operating conditions of the information processing apparatus (see e.g. PTL (patent Literature) 1).